<template>
  <van-form @submit="onSubmit">
    <van-cell-group inset>
      <van-field
        v-model="user.username"
        name="用户名"
        label="用户名"
        placeholder="用户名"
        :rules="[
          { required: true, message: '请填写用户名' },
          { pattern: /^\w{3,8}$/, message: '3-8位英文数字字母下划线组成' },
        ]"
      />
      <van-field
        v-model="user.pwd"
        type="password"
        name="密码"
        label="密码"
        placeholder="密码"
        :rules="[
          { required: true, message: '请填写密码' },
          { pattern: /^\w{3,8}$/, message: '3-8位英文数字字母下划线组成' },
        ]"
      />
    </van-cell-group>
    <div style="margin: 16px">
      <van-button round block type="primary" native-type="submit"> 提交 </van-button>
      <van-button round block type="danger" native-type="reset"> 重置 </van-button>
      <van-button round block @click="router.push('/login')"> 直接登录 </van-button>
    </div>
  </van-form>
</template>

<script setup lang="ts" name="UserLogin">
import { reactive } from "vue";
import { useRouter } from "vue-router";
import { userReg } from "@a/user";
import { showSuccessToast } from "vant";
const router = useRouter();
const user = reactive({
  username: "",
  pwd: "",
});
const onSubmit = () => {
  userReg(user).then((res) => {
    if (res.data.code === 0) {
      showSuccessToast({
        message: "注册成功,请前往登录",
        onClose: () => {
          router.replace("/login");
        },
      });
    }
  });
};
</script>

<style scoped></style>
